from selenium import webdriver
import time
import random
from selenium.webdriver.support.ui import Select

driver = webdriver.Chrome() # 实例化浏览器对象
driver.get("http://localhost/agileone") #发送访问Agileone的请求
assert driver.find_element_by_id("login")   # 断言是否进入Agilone登录页面

driver.find_element_by_id("username").send_keys("admin")  #输入用户名
driver.find_element_by_id("password").send_keys("admin")  #输入密码
driver.find_element_by_id("login").click()  #点击登录
time.sleep(3)
assert driver.find_element_by_link_text('注销').is_displayed() == True   # 断言是否登录成功

time.sleep(3)
driver.find_element_by_partial_link_text("需求提案").click()  #点击需求提案
time.sleep(3)
max=len(driver.find_elements_by_xpath('//tbody[@id="dataPanel"]/tr'))    #获取当前提案总条数
print(max)
index = random.randint(1,max)    #取任意一条提案
print(index)
time.sleep(3)

driver.find_element_by_xpath('//tr[%d]/td[5]/label[1]'%index).click()  # 点击任意一条提案的编辑按钮
time.sleep(3)

Select(driver.find_element_by_id("type")).select_by_value("Complaint")  #选择类型
Select(driver.find_element_by_id("importance")).select_by_value("Low")    #选择重要性
driver.find_element_by_id("headline").send_keys("YYYY")     #修改标题
driver.find_element_by_css_selector("img.ke-common-icon.ke-icon-source").click()   #点击代码
driver.find_element_by_class_name("ke-textarea").send_keys("NNNNN")       #输入新内容
driver.find_element_by_id("edit").click()         #点击编辑，进行提交
time.sleep(5)
assert "成功啦: 更新数据成功" in driver.find_element_by_id("msg").text      #断言编辑后的提示是否满足预期

driver.quit()  #关闭窗口

